<!DOCTYPE html>
<html>
<head>
<style>
    .group {
        display: inline-block;
        position: relative;
        width: 150px;
        height: 500px;
    }

    #overflow {
        width: 600px;
        height: 550px;
        overflow: hidden;
        border: 1px solid black;
        position: relative;
    }

    .spacer {
        float: left;
        width: 10px;
        height: 500px;
    }
    .container {
        width: 100px;
        height: 400px;
        outline: 2px solid black;
    }

    .box {
        width: 100px;
        height: 200px;
    }

    .hash {
        width: 600px;
        height: 10px;
        background-color: gray;
        position: absolute;
        border: 0px;
    }

    .sticky {
        position: relative;
        top: 100px;
        background-color: green;
    }
</style>
</head>
<body>
    <div id="overflow">
        <div class="spacer"></div>

        <div class="group" style="top: -120px">
            <div class="container">
                <div class="sticky box" style="top: 200px"></div>
            </div>
        </div>

        <div class="group" style="top: -20px">
            <div class="container">
                <div class="sticky box" style="top: 120px"></div>
            </div>
        </div>

        <div class="group" style="top: 120px">
            <div class="container">
                <div class="sticky box" style="top: 0"></div>
            </div>
        </div>
        <div id="hash" class="hash" style="top: 0;">
        </div>
    </div>
    <div style="position: absolute; top: 560px;">
    This test checks that sticky positioning when scrolled by fragment.
    There should be no red.
    </div>
</body>
</html>

